package com.scholarship.modules.student.mapper;

import com.scholarship.modules.student.dto.applicationDto.*;
import org.springframework.stereotype.Repository;

/**
 * @author: huanghao
 * @date: 2021/5/24 14:28
 * @description:
 * @modifiedBy:
 */
@Repository
public interface StuApplicationMapper {
    /*------------------------奖学金查询功能----------------------------*/
    //查询加权平均分
    Double getGPA(String userId);

    //查询外语成绩信息
    ForeignExamDto getForeignExam(String userId);

    //查询专业证书信息
    MajorExamDto getMajorExam(String userId);

    //查询专业竞赛信息
    MajorCompetitionDto getMajorCompetitionInfo(String userId);

    //查询IT节竞赛信息
    MajorCompetitionDto getITCompetitionInfo(String userId);

    //查询专业论文信息
    MajorThesisDto getMajorThesisInfo(String userId);

    //查询发明专利信息
    PatentDto getPatentInfo(String userId);

    /*------------------------奖学金更新功能----------------------------*/
    //更新外语成绩信息 a2
    int updateForeignExam(ForeignExamDto foreignExamDto);

    //更新专业证书信息 a3
    int updateMajorExam(MajorExamDto majorExamDto);

    //更新专业竞赛信息 b1
    int updateMajorCompetitionInfo(MajorCompetitionDto majorCompetitionDto);

    //更新IT节竞赛信息 b2
    int updateITCompetitionInfo(MajorCompetitionDto majorCompetitionDto);

    //更新专业论文信息 b4
    int updateMajorThesisInfo(MajorThesisDto majorThesisDto);

    //更新发明专利信息 b5
    int updatePatentInfo(PatentDto patentDto);

    /*------------------------奖学金插入功能----------------------------*/
    //插入外语成绩信息
    int insertForeignExam(ForeignExamDto foreignExamDto);

    //插入专业证书信息
    int insertMajorExam(MajorExamDto majorExamDto);

    //插入专业竞赛信息
    int insertMajorCompetitionInfo(MajorCompetitionDto majorCompetitionDto);

    //插入IT节竞赛信息
    int insertITCompetitionInfo(MajorCompetitionDto majorCompetitionDto);

    //插入文件
    int insertFile(String userId,String fileUrl,Integer tableId,String import_year);

    //插入专业论文信息
    int insertMajorThesisInfo(MajorThesisDto majorThesisDto);

    //插入发明专利信息
    int insertPatentInfo(PatentDto patentDto);

    /*------------------------奖学金删除功能----------------------------*/
    //删除外语成绩信息
    int deleteForeignExam(String userId);

    //删除专业证书信息
    int deleteMajorExam(String userId);

    //删除专业竞赛信息
    int deleteMajorCompetitionInfo(String userId);

    //删除IT节竞赛信息
    int deleteITCompetitionInfo(String userId);

    //删除专业论文信息
    int deleteMajorThesisInfo(String userId);

    //删除发明专利信息
    int deletePatentInfo(String userId);

}
